package 炫彩动画类

import (
	objectbase "gitee.com/go_888/xcgui/xcgui/objectbase"
	xc "gitee.com/go_888/xcgui/xcgui/xc"
)

// X结构_动画项 动画项.
type X结构_动画项 struct {
	objectbase.X结构_对象基类
}

// 动画项_启用完成释放, 当动画项完成后自动释放.
//
// 例如对多个动画序列进行渐近式延迟, 在动画序列头标添加延时项(时间差), 当延时项完成时自动释放, 后续动画循环就形成一种时间差(因为对齐的时间差销毁了, 他们永远无法对齐时间).
//
// bEnable: 是否启用.
func (a *X结构_动画项) X启用完成释放(是否启用 bool) *X结构_动画项 {
	xc.X动画项_启用完成释放(a.X句柄, 是否启用)
	return a
}

// 动画项_置回调. TODO: 有问题用不了, 因为 syscall.NewCallback 创建不了没有返回值的回调函数指针.
//
// callback: 回调函数.
func (a *X结构_动画项) X弃用_设置回调(回调函数 xc.FunAnimationItem) *X结构_动画项 {
	xc.X弃用_动画项_设置回调(a.X句柄, 回调函数)
	return a
}

// 动画项_置用户数据.
//
// nUserData: 用户数据.
func (a *X结构_动画项) X设置用户数据(用户数据 int) *X结构_动画项 {
	xc.X动画项_设置用户数据(a.X句柄, 用户数据)
	return a
}

// 动画项_取用户数据, 返回用户数据.
func (a *X结构_动画项) X取用户数据() int {
	return xc.X动画项_取用户数据(a.X句柄)
}

// 动画项_启用自动销毁.
//
// bEnable: 是否启用.
func (a *X结构_动画项) X启用自动销毁(是否启用 bool) *X结构_动画项 {
	xc.X动画项_启用自动销毁(a.X句柄, 是否启用)
	return a
}
